// pages/mine/mine.js
const host = require('../../config.js').host;
const network = require('../../utils/network.js');
const app = getApp();
Page({

    /**
     * 页面的初始数据
     */
    data: {
        host: host,
        //判断小程序的API，回调，参数，组件等是否在当前版本可用。
        canIUse: wx.canIUse('button.open-type.getUserInfo'),
        isHide: false,
        avatarUrl: "",
        nickName: "",
        /**
         * 
         */
        userType: 1, // 用户类型

        // 0 业主

        // 1 商家start


        //end
        // 2 用户  
        // 3 店员   需要查询什么 start----------------------
        clerkBindMerchant: {}, //合作的店铺
        /**
         * 否 不显示商家, 核销禁用, 首页空,
         * 是 显示商家信息,可以核销, 首页空
         */
        isBindingMerchant: '0', // 是否绑定了店铺
        // ---------------------------------------end
        userInfo: {}, // 当前登陆的用户

        clerkList: [], // 绑定的店员list
        ownerList: [], // 绑定的业主list
        notBindOwnerCount: 0, // 待绑定的业主数量
        loginTF: 0, // 是否登录
        merchantAuthInfo: {}, // 商家认证的信息
    },

    // 获取商家的认证信息
    getMerchantAuthInfo(merchantId) {
        //ownerCarryMerchantId  业主携带的商家ID 
        // 获取 商家认证的信息
        //   /xcx/customer-auth/auth-info 
        network.requestGet('/xcx/customer-auth/auth-info', {
            'customerId': merchantId,
            'addressType': 0, // 0 认证地址, 1 投放地址
        }, res => {
            let resData = res.data.data;
            this.setData({
                merchantAuthInfo: res.data.data,
            })
        })
        this.setData({
            isBindingMerchant: 1,
        })
    },

    // // 获取用户openid
    // getOpenid() {
    //     let that = this;
    //     wx.cloud.callFunction({
    //         name: 'getOpenid',
    //         complete: res => {

    //             var openid = res.result.openid;
    //             that.setData({
    //                 openid: openid
    //             })
    //         }
    //     })
    // },
    // 野猪详情
    toOwnerDetail(e) {
        let customerRelationId = e.currentTarget.dataset.customerrelationid;
        let ownerId = e.currentTarget.dataset.ownerid;
        wx.navigateTo({
            url: '/pages/owner/owner?ownerId=' + ownerId + "&customerRelationId=" + customerRelationId + "&type=1"
        })
    },
    // accountCheck 核对
    toAccountCheck() {
        wx.showToast({
            title: '对账',
        })

    },

    // 获取店员 绑定 的商家
    getClerkBindMerchant() {
        // 当前登录的人是店员
        network.requestGet('/xcx/customer-relation/merchant-owner-list', {
            'relationType': '1', // 关联类型  1 商家绑店员
            'isBinding': '1', //  0 未绑定的/ 待绑定 1 已绑定
        }, res => {

            let resData = res.data.data;
            if (resData.length > 0) {
                this.setData({
                    clerkBindMerchant: resData[0],
                    isBindingMerchant: '1', // 说明有商家了
                })
            }
        })
    },

    //  获取 待绑定的 商家跟业主 数量
    getNotBindOwnerCount() {
        network.requestGet('/xcx/customer-relation/merchant-owner-list', {
            'relationType': '0', // 关联类型 0 商家绑业主 1 商家绑店员
            'isBinding': '0', // 未绑定的/ 待绑定
        }, res => {
            this.setData({
                notBindOwnerCount: res.data.data.length,
            })
        })
    },
    // toNotBindOwnerList  跳转到 待绑定  业主listF
    toNotBindOwnerList() {
        wx.navigateTo({
            url: '/pages/applyBindOwnerList/applyBindOwnerList',
        })
    },

    // 绑定的店员list
    getClerkList() {
        // 获取 登录人id 
        network.requestGet('/xcx/customer-relation/merchant-owner-list', {
            'relationType': '1', // 关联类型 0 商家绑业主 1 商家绑店员
        }, res => {

            this.setData({
                clerkList: res.data.data,
            })
        })
    },

    // 绑定的业主list
    getOwnerList() {
        network.requestGet('/xcx/customer-relation/merchant-owner-list', {
            'relationType': '0', // 关联类型 0 商家绑业主 1 商家绑店员
        }, res => {
            this.setData({
                ownerList: res.data.data,
            })
        })
    },

    //  解除 绑定的店员
    unbind(e) {
        let that = this;
        // 解绑的店员
        let customerRelationId = e.currentTarget.dataset.customerrelationid;
        wx.showModal({
            title: '提示',
            content: '确定要解除绑定吗',
            cancelText: '取消',
            confirmText: '确定',
            success(res) {
                if (res.confirm) {
                    network.requestPost("/xcx/customer-relation/changeRelationStatus", {
                        'id': customerRelationId,
                        'type': 1
                    }, res => {
                        // 修改成功
                        if ('200' == res.data.code) {
                            that.setData({
                                clerkBindMerchant: {},
                                isBindingMerchant: '0',
                                userInfo: {},
                                clerkList: [],
                                ownerList: [],
                                notBindOwnerCount: 0
                            })
                            that.onShow();
                            wx.showToast({
                                title: '成功解除绑定',
                                icon: 'none'
                            })
                        } else {
                            wx.showToast({
                                title: res.data.msg,
                                icon: 'none'
                            })
                        }
                    })
                }
            }
        })
    },
    // 跳转到商家认证
    merchantAuth() {
        if (getApp().globalData.userInfo.photo && getApp().globalData.userInfo.phone) {
            wx.navigateTo({
                url: '/pages/merchantsCertification/merchantsCertification',
            })
        } else {
            wx.showToast({
                title: '请先授权个人信息及手机号',
                icon: 'none',
            })
        }

    },
    // 跳转到绑定手机号
    bindPhone() {
        wx.navigateTo({
            url: '/pages/bindphone/bindphone',
        })
    },
    // 跳转到对账页面
    gotoWriteoff(e) {

        wx.navigateTo({
            url: '/pages/writeOff/writeOff?ownerId=' + e.currentTarget.dataset.ownerid + '&merchantId=' + e.currentTarget.dataset.merchantid
        })
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {

        var that = this;
        // 查看是否授权
        // wx.getSetting({
        //     success: function (res) {
        //         if (res.authSetting['scope.userInfo']) {
        //             wx.getUserInfo({
        //                 success: function (res) {
        //                     console.log('微信登录', res)
        //                     that.setData({
        //                         avatarUrl: res.userInfo.avatarUrl,
        //                         nickName: res.userInfo.nickName,
        //                     });
        //                     // 用户已经授权过,不需要显示授权页面,所以不需要改变 isHide 的值
        //                     // 根据自己的需求有其他操作再补充
        //                     // 我这里实现的是在用户授权成功后，调用微信的 wx.login 接口，从而获取code
        //                     wx.login({
        //                         success: res => {
        //                             // 获取到用户的 code 之后：res.code
        //                             console.log("用户的code:" + res.code);
        //                             // 可以传给后台，再经过解析获取用户的 openid
        //                             // 或者可以直接使用微信的提供的接口直接获取 openid ，方法如下：
        //                             // wx.request({
        //                             //     // 自行补上自己的 APPID 和 SECRET
        //                             //     url: 'https://api.weixin.qq.com/sns/jscode2session?appid=自己的APPID&secret=自己的SECRET&js_code=' + res.code + '&grant_type=authorization_code',
        //                             //     success: res => {
        //                             //         // 获取到用户的 openid
        //                             //         console.log("用户的openid:" + res.data.openid);
        //                             //     }
        //                             // });
        //                         }
        //                     });
        //                 }
        //             });
        //         } else {
        //             // 用户没有授权
        //             // 改变 isHide 的值，显示授权页面
        //             that.setData({
        //                 isHide: true
        //             });
        //         }
        //     }
        // });

    },

    // 授权用户信息
    // 授权登录用户信息
   // 授权登录用户信息
  getUserProfile(e) {
    let that = this;
    wx.getUserProfile({
      desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
      success: function (res) {
        // console.log('====',res); 
        that.setData({
            isHide: false,
            avatarUrl: res.userInfo.avatarUrl,
            nickName: res.userInfo.nickName,
        });
        that.onGetUserInfo();
      },
      fail: function (res) {
        // console.log('-----',res); 
      },
    })

  },
    // bindGetUserInfo: function (e) {
    //     if (e.detail.userInfo) {
    //         //用户按了允许授权按钮
    //         var that = this;
    //         // 获取到用户的信息了，打印到控制台上看下

    //         //授权成功后,通过改变 isHide 的值，让实现页面显示出来，把授权页面隐藏起来
    //         that.setData({
    //             isHide: false,
    //             avatarUrl: e.detail.userInfo.avatarUrl,
    //             nickName: e.detail.userInfo.nickName,
    //         });
    //     } else {
    //         //用户按了拒绝按钮
    //         wx.showModal({
    //             title: '警告',
    //             content: '您点击了拒绝授权，将无法进入小程序，请授权之后再进入!!!',
    //             showCancel: false,
    //             confirmText: '返回授权',
    //             success: function (res) {
    //                 // 用户没有授权成功，不需要改变 isHide 的值
    //                 if (res.confirm) {
    //                     console.log('用户点击了“返回授权”');
    //                 }
    //             }
    //         });
    //     }
    // },

    toOwnerlist() {
        wx.navigateTo({
            url: '/pages/ownerlist/ownerlist',
        })
    },

    toAddClerk() {
        wx.navigateTo({
            url: '/pages/AddClerk/AddClerk',
        })
    },
    login2(e) {
        console.log(e);
        wx.getUserInfo({
            success: function (res) {
                console.log(res)
                // 登录 
                var userInfo = res.userInfo
                if (userInfo) {
                    wx.showToast({
                        title: '授权',
                    })
                } else {
                    wx.showToast({
                        title: '',
                    })
                }

                var nickName = userInfo.nickName
                var avatarUrl = userInfo.avatarUrl
                var gender = userInfo.gender //性别 0：未知、1：男、2：女
                var province = userInfo.province
                var city = userInfo.city
                var country = userInfo.country

                wx.login({
                    complete: (res) => {
                        // code 传后台 login 

                    },
                })
            },
            fail: res => {
                console.log("点击拒绝");

                wx.showModal({
                    title: '提示',
                    content: '点击拒绝',
                    success: function (res) {
                        if (res.confirm) {
                            console.log('用户点击确定');
                        } else if (res.cancel) {
                            console.log('用户点击取消');
                        }
                    }
                });
            },
        })
    },
    // 跳转绑定手号码
    jumpTel() {
        wx.navigateTo({
            url: '/pages/bindphone/bindphone',
        })
    },

  // 获取用户信息
  getUserInfo() {

    network.requestGet('/xcx/customer/getUserInfo', {
    }, res => {
      console.log("res", res.data.data)
      //1.存用户信息到本地存储
      wx.setStorageSync('userInfo', res.data.data);
      //2.存用户信息到全局变量
      getApp().globalData.userInfo = res.data.data;
      getApp().globalData.userType = res.data.data.userType;
      this.setData({
        userType: res.data.data.userType,
        userInfo: res.data.data,
      })
 

      if (0 == this.data.userType || 1 == this.data.userType) {
        this.setData({
          addButtonShow: 1,
        })
      }

    })
  },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        let openid = wx.getStorageSync('openid');
        let token = wx.getStorageSync('token');
        let userInfo = app.globalData.userInfo;// 用户信息
        let userType;
        // console.log("onshow---openid", openid);
        if (!openid || !token || !userInfo) {
            // 去首页 查询用户
            wx.switchTab({
                // url: '../details/details?showDialog=' + res.result
                   url: '../index/index',
         
                 })   
                 return;
        }  
        if (token) {
            this.setData({
                loginTF: 1
            })
        }
      
    
       
        if (userInfo.createTime) {
            userInfo.createTime = userInfo.createTime.slice(0, 10)
        }

        console.log("userInfo", userInfo);
        if (userInfo) {
            if (userInfo.createTime) {
                this.setData({
                    'userInfo.createTime': userInfo.createTime.substr(0, 10),
                })
            }
            this.setData({
                userType: userInfo.userType,
            })
            userType = userInfo.userType;

            if (1 == userType && 2 == userInfo.attestState) { // 商家
                // 已认证 就显示 
                let merchantId = userInfo.id;
                this.getMerchantAuthInfo(merchantId);
                this.setData({
                    isBindingMerchant: 1,
                })
            }
            if (0 == userInfo.userType) {
                // 业主登录 
                let merchantId = getApp().globalData.ownerCarryMerchantId;
                this.getMerchantAuthInfo(merchantId);
            }
        }


        // 店员 
        if (3 == userType) {
            // 店员 获取的信息
            this.getClerkBindMerchant();
        }

        this.setData({
            userInfo: app.globalData.userInfo,
        });
        // 获取店员list
        this.getClerkList();
        this.getOwnerList(); // 获取业主
        //   获取 待绑定 业主数量
        this.getNotBindOwnerCount();
    },

    // 获取头像
    onGetUserInfo(e) {
        let that = this;
        console.log(e)
        let userInfo = that.data.userInfo;
        let nickName = that.data.nickName;
        let avatarUrl = that.data.avatarUrl;
        let filePath = '';
        console.log(userInfo)
        console.log(nickName)
        console.log(avatarUrl)
        wx.getImageInfo({
            src: avatarUrl,
            success: function (sres) {
                filePath = sres.path;
                network.uploadFileLoading("/common/upload", filePath, res => {
                    let data = JSON.parse(res.data);
                    avatarUrl = data.fileName;
                    console.log("avatarUrl", avatarUrl)
                    network.requestPost('/xcx/customer/update-customer', {
                        id: userInfo.id,
                        nickName: nickName,
                        photo: avatarUrl
                    }, res => {
                        if (res.data.code == '200') {
                            wx.showToast({
                                title: '成功',
                                icon: 'success'
                            })
                            userInfo.nickName = nickName;
                            userInfo.photo = avatarUrl;
                            that.setData({
                                userInfo: userInfo
                            })
                            app.globalData.userInfo = userInfo;
                        } else {
                            wx.showToast({
                                title: res.data.msg,
                                icon: 'none'
                            })
                        }
                    })
                })
            }
        })


        // network.requestPost('/xcx/customer/update-customer', {
        //     nickName: userMsg.nickName,
        //     photo: userMsg.avatarUrl,
        //     id: userInfo.id
        // }, res => {
        //     console.log(res)
        //     if (res.data.code == 200) {
        //         // this.setData({
        //         //     merchantAuthInfo: res.data.data,
        //         // })
        //     }
        //     if (res.data.code == 500) {
        //         wx.showModal({
        //             title: '提示',
        //             content: res.data.msg,
        //             success: function (res) {
        //                 if (res.confirm) {
        //                     console.log('用户点击确定');
        //                 } else if (res.cancel) {
        //                     console.log('用户点击取消');
        //                 }
        //             }
        //         });
        //     }

        // })



    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})